package cn.org.donald.service.game;

import cn.org.donald.framework.pojo.dto.IdsDto;
import cn.org.donald.framework.pojo.dto.PageDto;
import cn.org.donald.pojo.dto.game.AddGameDto;
import cn.org.donald.pojo.dto.game.GameDto;
import cn.org.donald.pojo.dto.game.QueryDto;
import cn.org.donald.pojo.dto.game.QueryGameDto;
import cn.org.donald.pojo.entity.game.Game;
import cn.org.donald.pojo.vo.GameVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Donald
 * @since 2020-12-12
 */
public interface GameService extends IService<Game> {

    /**
     * 添加游戏
     * @param gameDto
     * @return
     */
    boolean add(GameDto gameDto);

    /**
     * 分页查询游戏列表
     * @param pageDto
     * @return
     */
    IPage<GameVo> findPage(PageDto<Game> pageDto);

    /**
     * 根据id更新游戏
     * @param gameDto
     * @return
     */
    boolean editById(GameDto gameDto);

    /**
     * 根据id查询游戏详情
     * @param id
     * @return
     */
    GameVo findOneById(Long id);

    /**
     * 根据id删除游戏
     * @param ids
     * @return
     */
    boolean deleteByIds(IdsDto ids);

    /**
     * 搜索
     * @param queryDto
     * @return
     */
    IPage<GameVo> search(QueryDto queryDto);
}
